package 草稿包;

/**
 * TODO
 *
 * @Description
 * @Author Lx
 * @Date 2024/5/18 19:48
 **/
import java.util.Scanner;

public class TEST15 {
    public static void reverseAndInvert(int l, int r, char[] arr) {
        while (l < r) {
            // 交换 arr[l] 和 arr[r]
            char temp = arr[l];
            arr[l] = arr[r];
            arr[r] = temp;

            // 取反 arr[l] 和 arr[r]
            arr[l] = arr[l] == '0' ? '1' : '0';
            arr[r] = arr[r] == '0' ? '1' : '0';

            l++;
            r--;
        }
        // 如果 l == r，只需要取反该位置的字符
        if (l == r) {
            arr[l] = arr[l] == '0' ? '1' : '0';
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int len = sc.nextInt();
        int m = sc.nextInt(); // 注意这里变量应该是 m 而不是 n
        String str = sc.next();
        char[] arr = str.toCharArray();

        for (int i = 0; i < m; i++) {
            int l = sc.nextInt();
            int r = sc.nextInt();
            reverseAndInvert(l, r, arr); // 注意方法名和参数的变化
        }

        System.out.println(new String(arr));
        sc.close();
    }
}